/* 
  node fs模块常用方法
*/

const fs = require("fs");

// 1. stat 判断文件还是文件夹
/* fs.stat("./html", (err, data) => {
  if(err) {
    console.log(err);
    return
  }
  if(data.isFile()) {
    console.log("是文件")
  }
  if(data.isDirectory()) {
    console.log("是文件夹")
  }
}) */

// 2. mkdir 创建目录
/* fs.mkdir("./css", (err) => {
  // 当文件夹存在时会报错
  if(err) {
    console.log(err);
    return
  }
}) */

// 3. writeFile 创建写入文件,如果文件不存在就会创建，如果存在，则会替换内容
/* fs.writeFile("./html/index.html", "hello nodejs", (err) => {
  if(err) {
    console.log(err);
    return
  }
  console.log("写入成功")
}) */


// 4. appendFile 向文件中追加内容，如果文件不存在就创建并写入，如果存在，则在内容后面追加，并不会替换内容
/* fs.appendFile("./css/vase.css", "h2{color: red;}", (err) => {
  if(err) {
    console.log(err);
    return
  }
  console.log("追加成功")
}) */


// 5. readFile 读取文件
/* fs.readFile("./html/index.html", (err, data) => {
  if(err) {
    console.log(err);
    return
  }
  console.log(data.toString())
}) */

// 6. readdir 读取目录, 读取成功，返回一个包含文件或文件夹的数组
/* fs.readdir("./html", (err, data) => {
  if(err) {
    console.log(err);
    return
  }
  console.log(data)
}) */

// 7. rename 重命名，功能1：重命名 功能2：移动文件
// 功能1
/* fs.rename("./css/aaa.css", "./css/index.css", err => {
  if(err) {
    console.log(err);
    return
  }
  console.log("重命名成功")
}) */

// 功能2
/* fs.rename("./css/index.css", "./html/index.css", err => {
  if(err) {
    console.log(err);
    return
  }
  console.log("移动文件成功")
}) */


// 8. rmdir:删除目录，只能删除空目录  unlink: 删除文件
fs.rmdir("./html/aaa", err => {
  if(err) {
    console.log(err);
    return
  }
  console.log("删除目录成功")
})

/* fs.unlink("./html/aaa/index.html", err => {
  if(err) {
    console.log(err);
    return
  }
  console.log("删除文件成功")
}) */
